A memory testing apparatus for testing a memory such as RAM generally comprises a timing generator, a pattern generator, a waveform generator, a logical comparator and a failure analysis memory. As is well known, a memory of this kind is often constructed in the form of a semiconductor integrated circuit element. In the following discussion, a case will be described in which the memory testing apparatus tests a memory formed as a semiconductor integrated circuit element (hereinafter referred to as IC memory), by way of example, in order to facilitate understanding of the invention. However, it should be understood that the apparatus can also test memories other than IC memories.
A pattern generator generates, in response to a reference clock (operating clock) supplied from a timing generator, address pattern data, test pattern data, control signals and the like which are to be applied to an IC memory to be tested (IC memory under test), and in addition thereto, generates expected value pattern data and the like which are to be fed to a logical comparator.
An IC memory to be tested which is commonly called MUT (memory under test) is controlled in writing of a test pattern signal therein or reading of a test pattern signal therefrom by application of a control signal thereto. Specifically, when a writing control signal is applied to the IC memory under test, a test pattern signal is successively written in the IC memory under test at an address thereof specified by an address pattern signal, and when a reading control signal is applied to the IC memory under test, the test pattern signal previously written in the IC memory under test is successively read out thereof at an address specified by an address pattern signal.
A response output signal read out of the IC memory under test (hereinafter also referred to simply as memory under test) is supplied to the logical comparator where it is logically compared with an expected value pattern data outputted from the pattern generator. If a result of comparison in the logical comparator indicates an anti-coincidence or a mismatch, the logical comparator outputs a defective signal representing the anti-coincidence, namely, so-called failure data. The logical comparator usually outputs logical "1" having a high logical level (logic H) as a failure data. By contrast, if a result of comparison indicates a coincidence, the logical comparator outputs a defectless signal representing the coincidence, namely, so-called pass data. Since failure data is represented by logical "1", pass data is outputted as logical "0" having a low logical level (logic L). The failure data is fed to and stored in the failure analysis memory.
The failure analysis memory has the same operating rate or speed and storage capacity as those of the memory under test, and the same address pattern signal as that applied to the memory under test is applied to the failure analyses memory. In addition, the failure analysis memory is initialized prior to the start of a test. For example, when initialized, the failure analysis memory has data of logical "0s" written in all of the addresses thereof. Every time a failure data is generated from the logical comparator during a test of a memory under test, a failure data of logical "1" is written in the address of the failure analysis memory specified by the address pattern signal. That is, in a memory cell of the failure analysis memory having the same address as that of the failure memory cell of the memory under test is written the failure data (logical "1") indicating that failure memory cell of the memory under test.
Upon completion of one test cycle, a decision is rendered as to whether the memory under test is pass or failure in consideration of the number of failure data stored in the failure analysis memory, the locations where failure data occurred, and the like. By way of example, in case of utilizing the failure data stored in the failure analysis memory for purpose of relieving a defective memory cell of the memory under test, failure data read out of the failure analysis memory (information relating to the locations of defective memory cells of the memory under test) are totalled, and it is then determined based on the totalled failure data whether or not the locations of the detected failure memory cells can be relieved by relief means provided in the memory under test.
Owing to such reasons that the testing time duration can be reduced thereby improving an efficiency of test, the reliability of the test can be enhanced, the useful memory life can be prolonged, etc., it is preferred to arrange a failure analysis memory such that in the event a failure data is even once written in the failure analysis memory during a test in one mode, a failure data is prevented from being written again in the address or addresses in the failure analysis memory in which a failure data has been written during a subsequent test in a different mode. For this end, it is necessary to inhibit the failure data stored in the failure analysis memory from being updated. Usually, the failure analysis memory is arranged that the location of a memory cell in the failure analysis memory in which a failure data has been stored is masked. As a result, there is provided a second memory for masking the location of a memory cell in the failure analysis memory in which a failure data has been stored, together with the failure analysis memory. This second memory has the same storage capacity and bit width as those of the failure analysis memory, and is called a mask pattern memory in this technical field.
FIG. 3 schematically shows a conventional memory testing apparatus provided with a mask pattern memory. The memory testing apparatus 100 comprises a pattern generator 101, a timing generator 102, a waveform generator 104, a driver 105, an analog comparator 106, a logical comparator 107 and a failure analysis memory 109, and in addition thereto, comprises a pattern selector 103, a failure data selector 108, a mask pattern memory 111 and a mask pattern selector 112.
The timing generator 102 generates a reference clock (operating clock) which controls the operations of various parts or components. In response to the reference clock fed from the timing generator 102, the pattern generator 101 generates a memory test pattern data in a given bit sequence (from MSB to LSB, for instance). The memory test pattern data comprises address pattern data, test pattern data, expected value pattern data and the like all of which are generated in the given bit sequence (from MSB to LSB). Such data are fed to the pattern selector 103 where they are converted into pattern data having an arrangement (array) of bits (from P1 to PN, for instance) which corresponds to an arrangement (array) of terminals of an IC memory 200 under test.
The pattern data from the pattern selector 103 are supplied to the waveform generator 104 where pattern signals each having a real waveform depending upon the pattern data are produced. The pattern signals outputted from the waveform generator 104 are fed through the driver 105 to individual terminals of the IC memory 200 under test for testing it.
A response output signal read out of the memory 200 is supplied to the analog comparator 106 which determines whether or not the logic level of the response output signal has a given voltage level. A data resulting from the comparison in the analog comparator 106 is inputted to the logical comparator 107 to which an expected value pattern data supplied from the corresponding pattern selector 103 is also applied and the logical comparator 107 determines whether both the data are coincident with each other or not.
Every time both the data are not coincident with each other, a failure data outputted from the logical comparator 107 is fed to the failure data selector 108 which in turn converts the arrangement of the failure data from the bit arrangement (from P1 to PN) corresponding to the arrangement of the terminals of the memory 200 back to the bit arrangement (from MSB to LSB) having the sequence of the original bit significance. Then the failure data having the original bit arrangement are fed to the failure analysis memory 109 in which the failure data are stored in memory cells thereof at address positions specified by the address pattern data directly fed from the pattern generator 101, respectively. That is, in a memory cell of the failure analysis memory 109 at the same address as that of a failure memory cell of the IC memory 200 under test is written each of the failure data (logical "1") indicating that failure memory cell of the IC memory 200.
As described above, the mask pattern memory 111 has the same storage capacity and bit width as those of a memory under test, and stores a data indicating an address of a failure memory cell (address to be masked) in the memory 200 under test which has occurred during a test in one mode in a memory cell of the mask pattern memory 111 having the same address as that of the failure memory cell of the memory 200. When a subsequent test is carried out in a different mode, a mask address data for a failure memory cell stored in the mask pattern memory 111 is read out as a mask pattern data by that an address pattern data is supplied from the pattern generator 101 to the mask pattern memory 111.
The mask pattern data read out of the mask pattern memory 111 is fed to the mask pattern selector 112 in which the bit arrangement of the mask pattern data is converted from the bit arrangement (from MSB to LSB) having the sequence of a given bit significance into comparison mask pattern data having the bit arrangement (from P1 to PN) corresponding to the arrangement of the terminals of the memory 200 under test. Thereafter, the comparison mask pattern data are fed to the logical comparator 107. As mentioned above, the logical comparator 107 performs a logical comparison between a response output signal read out from the corresponding one of the terminals of the memory 200 under test and an expected value pattern data from the pattern selector 103. However, when a comparison mask pattern data is supplied to the logical comparator 107, the logical comparator 107 is controlled so as not to perform a logical comparison between a response output signal from the corresponding one of the terminals of the memory 200 and an expected value pattern data so far as an address specified by such comparison mask pattern data is concerned. As a result, the logical comparator 107 does not output any failure data with regard to the address specified by each of the comparison mask pattern data. Accordingly, a failure data stored in the failure analysis memory 109 at the address corresponding to the address specified by a comparison mask pattern data is not updated.
In the memory testing apparatus 100 provided with the conventional mask pattern memory 111, the mask operation is achieved by supplying a comparison mask pattern data to the logical comparator 107. This requires that the mask pattern data read out of the mask pattern memory 111 should be fed to the mask pattern selector 112 thereby converting the bit arrangement of such mask pattern data from the bit arrangement (from MSB to LSB) having the sequence of a given bit significance to the bit arrangement (from P1 to PN) corresponding to the arrangement of the terminals of the memory 200 under test.
The mask pattern selector 112 must be capable of selecting any one of bit arrangements corresponding to terminal arrangements of memories under test of various standards, resulting in its circuit arrangement or construction of a large scale. Consequently, there occur disadvantages that the overall construction of the memory testing apparatus also becomes a large scale and the manufacturing cost is increased.
In particular, a recent trend is toward increasing the number of terminals of a memory under test and the number of bits is also increased, resulting in disadvantages that the circuit arrangement of the mask pattern selector 112 is larger in scale more and more, the overall construction of the memory testing apparatus is bigger and its manufacturing cost is increased more and more.